During the course of using a computer, a user may make mistakes in entering commands or have questions about how to accomplish a particular function or goal. Various levels of on-line help systems have been provided to assist users. A very simple level is one in which the system, in response to the entry of an erroneous command, outputs an error code or a short message. The user's response depends upon the user's knowledge which varies greatly dependent upon the user's training and experience with using computers. An experienced person usually would know the proper response, upon receiving an error message, but even experts often need help. A less experienced person would have to look up the answer in a manual or ask a more knowledgeable person what to do. Some computers are provided with on-line help systems in which full text or shortened descriptions of system commands can be accessed by a user pressing a help key. Such descriptions may or may not be helpful dependent upon the user's expertise and ability through trial-and-error methods to choose the right option. Such descriptions are general in nature and are not tailored to the specifics of the user's activity.
In the past, various "intelligent" help systems have been proposed at least some of which incorporate concepts, techniques and tools from the field of artificial intelligence.
U.S. Pat. No. 4,736,296- Katayama et al describes a "METHOD AND APPARATUS OF INTELLIGENT GUIDANCE IN NATURAL LANGUAGE" wherein a user inputs into the system a natural language description of the job to be performed. A natural language analyzer analyzes or parses the input and an inference or deduction means, in conjunction with a rule based knowledge base, analyze the output from the natural language analyzer and produce a command train for executing the job desired by the user. In contrast to the subject invention more fully described hereinafter, the invention described in such patent does not provide an explanation model nor handle erroneous system commands.
U.S. Pat. No. 4,713,775- Scott et al describes an "INTELLIGENT ASSISTANT FOR USING AND OPERATING COMPUTER SYSTEM CAPABILITIES TO SOLVE PROBLEMS" in which a program for operating a computer is automatically generated in response to a user entering information in response to solicitations from the system. The system is an application of artificial intelligence concepts in which a knowledge base interacts with a rules base to analyze the input and solve the problem by producing a program. The system also produces explanations of why the program is appropriate. Such system differs from the subject invention in that its basic function is automatic programming and not an on-line help system, the input is by interactive system questions and user response as opposed to the user entering erroneous system commands or user queries, and the output is a program along with an explanation as opposed to the output being one or more suggestions, along with dynamic generation of explanations for each suggestion as to why such suggestion was made and how it would achieve the user's goals.
U.S. Pat. No. 4,500,964-Nickle describes a "DIALOG USER ERROR DIAGNOSIS, SEVERITY, AND HELP TECHNIQUE" for a data entry system in which, in response to erroneous data entry, predetermined error messages are outputted to the user along with general suggestions on how to correct similar errors, and a diagnosis of what will happen if the errors are not corrected. The system does not provide dynamically generated suggestions for correcting erroneous system commands based on the specific content of the error, answer user questions, provide explanations of the suggestions, nor otherwise function as an intelligent help system.
U.S. Pat. No. 4,648,062-Johnson et al discloses a "METHOD FOR PROVIDING AN ON LINE HELP FACILITY FOR INTERACTIVE INFORMATION HANDLING SYSTEMS" in which, in response to a user's request for help by actuating a Help key, three levels of help are provided. The first level is a window displaying only those commands which are usable dependent upon the current stage of processing. The second level is a window explaining parameters associated with a particular command. The third level describes commands and parameters not valid for the current step but which are valid within the operator task. The information thus provided is done so within the context of the activity. The described method does not respond to user questions, to the entry of erroneous commands, and it does not provide suggestions and explanations in the manner of the subject invention.
U.S. Pat. No. 4,800,485-Ackroff et al, describes an "ON-LINE DOCUMENTATION FACILITY" in which a user can enter user defined help documentation that will supplement system provided documentation. In response to help requests, both type of documentation are provided to the requestor. Help requests are made by help commands. The system does not provide help in response to erroneous commands or questions, nor does it generate suggestions and explanations in the manner of the subject invention.
An article, LEARNING BY DOING WITH SIMULATED INTELLIGENT HELP, by J. M. Carroll and A. P. Aaronson, Communications of the ACM, September, 1988, Vol. 31, No. 9, pgs. 1064-1079, describes a simulated help system in which both how and why explanations are provided by a help system to a user in response to user errors. The explanations are either predetermined or generated by another person on-the-fly. The predetermined explanations are general for each class of error and are not tailored to the specific user's goals. The other explanations are generated or created by a person viewing a monitor that displays the user's actions and cover errors outside of the classes for predetermined explanations. No explanations are generated dynamically by the system.